import http from '@utils/http'
export const warehouse = {
  /**
   * 显示仓库列表
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param pageNo 页数 是
   * @param pageSize 每页显示的数量 是
   * @param findType 查询类型 1.查询列表，2.查询选择框 非
   * @param houseType 仓库类型 是
   * @param officeId 所属部门ID 是
   * @param name 仓库名称 是
   * @return {Promise} Any
   */
  list: ({userId, token, pageNo, pageSize, findType, houseType, officeId, name}) => {
    let url = `/warehouse/list`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token,
        pageNo,
        pageSize,
        findType,
        houseType,
        officeId,
        name
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 获取仓库类型
   *
   * @param token 验证信息 varchar(32) 非
   * @return {Promise} Any
   */
  getMenuData: ({token}) => {
    let url = `/warehouse/getMenuData`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const deviceModel = {
  /**
   * 显示部件物料号
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param pageNo 页数 是
   * @param pageSize 每页显示的数量 是
   * @param findType 查询类型 1.查询列表，2.查询选择框 非
   * @param modelCode 物料号 是
   * @return {Promise} Any
   */
  list: ({userId, token, pageNo, pageSize, findType, modelCode}) => {
    let url = `/deviceModel/list`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token,
        pageNo,
        pageSize,
        findType,
        modelCode
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const user = {
  /**
   * 用户信息显示
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @return {Promise} Any
   */
  info: ({userId, token}) => {
    let url = `/user/${userId}`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 申请调拨-选择用户
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @return {Promise} Any
   */
  list: ({userId, token}) => {
    let url = `/user/list`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const actApply = {
  /**
   * 处理任务
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param applyId 申请单ID 非
   * @param auditText 审核意见 非
   * @param flag 同意、驳回 yes 同意 no 驳回 非
   * @return {Promise} Any
   */
  saveAudit: ({userId, token, applyId, allotId, taskId, taskDefKey, procInsId, auditText, flag}) => {
    let url = `/actApply/saveAudit`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token,
        applyId,
        allotId,
        taskId,
        taskDefKey,
        procInsId,
        auditText,
        flag
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 申请调拨
   *
   * @param token 验证信息 varchar(32) 非
   * @param userId 用户ID 非
   * @param ApplyUnitId 申请单位 非
   * @param ApplyUnitOfficeId 申请部门 非
   * @param linkUserId 联系人ID 非
   * @param linkUserMobile 联系人电话 非
   * @param warehouseId 项目ID 非
   * @param warehouseAddress 项目地址 非
   * @param arriveDate 要求到货日期 非
   * @param remarks 备注 非
   * @param actApplyLogList 申请设备信息 申请设备集合 非
   * @param deviceType 设备类型 非
   * @param deviceName 设备名称 非
   * @param manufacturerModelId 厂家型号 设备类型是主机或者主机部件时非空 是
   * @param deviceModelId 物料号 设备类型是部件是非空 是
   * @param deviceUnit 设备单位 非
   * @param applyCount 申请数量 非
   * @param applyText 备注 非
   * @return {Promise} Any
   */
  apply: ({token, userId, ApplyUnitId, ApplyUnitOfficeId, linkUserId, linkUserMobile, warehouseId, warehouseAddress, arriveDate, remarks, actApplyLogList, deviceType, deviceName, manufacturerModelId, deviceModelId, deviceUnit, applyCount, applyText}) => {
    let url = `/actApply/apply`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        userId,
        ApplyUnitId,
        ApplyUnitOfficeId,
        linkUserId,
        linkUserMobile,
        warehouseId,
        warehouseAddress,
        arriveDate,
        remarks,
        actApplyLogList,
        deviceType,
        deviceName,
        manufacturerModelId,
        deviceModelId,
        deviceUnit,
        applyCount,
        applyText
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 验证发货单数据是否合格
   *
   * @param token 验证信息 varchar(32) 非
   * @param allotId 调拨单ID 非
   * @param deliveryLogList 发货设备数据 非
   * @param deviceType 设备类型 1. 主机2. 部件3. 主机部件 非
   * @param mainCode 统一编号 非
   * @param deviceModelId 部件物料号ID 设备类型是部件时必填
   * @param modelCode 物料号 设备类型是部件时必填
   * @param delFlag 删除标记 0. 不删除1. 删除 非
   * @return {Promise} Any
   */
  checkFahuoData: ({token, allotId, deliveryLogList, deviceType, mainCode, deviceModelId, modelCode, delFlag}) => {
    let url = `/actApply/checkFahuoData`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        allotId,
        deliveryLogList,
        deviceType,
        mainCode,
        deviceModelId,
        modelCode,
        delFlag
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 保存收货单
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @return {Promise} Any
   */
  saveGoodsLog: ({userId, token}) => {
    let url = `/actApply/saveGoodsLog`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 获取任务已启动的任务信息
   *
   * @param token 验证信息 varchar(32) 非
   * @param applyId 申请单ID 非
   * @param allotId 调拨单ID 非
   * @param taskId 任务ID 非
   * @param taskDefKey 任务节点 yy_diaobo：填写调拨单 dc_fahuo：确认调拨单 m_fahuo：扫码发货 qr_fahuo：确认发货 sm_shouhuo：扫码收货 qr_shouhuo：确认收货 pyend：已完成 非
   * @return {Promise} Any
   */
  task: ({token, applyId, allotId, taskId, taskDefKey}) => {
    let url = `/actApply/task`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        applyId,
        allotId,
        taskId,
        taskDefKey
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 验证收货单数据是否合格
   *
   * @param token 验证信息 varchar(32) 非
   * @param deliveryId 发货单ID 非
   * @param goodsLogList 收货设备数据 非
   * @param deviceType 设备类型 4. 主机5. 部件6. 主机部件 非
   * @param mainCode 统一编号 非
   * @param deviceModelId 部件物料号ID 设备类型是部件时必填
   * @param modelCode 物料号 设备类型是部件时必填
   * @param delFlag 删除标记 0. 不删除1. 删除 非
   * @return {Promise} Any
   */
  checkShouhuoData: ({token, deliveryId, goodsLogList, deviceType, mainCode, deviceModelId, modelCode, delFlag}) => {
    let url = `/actApply/checkShouhuoData`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        deliveryId,
        goodsLogList,
        deviceType,
        mainCode,
        deviceModelId,
        modelCode,
        delFlag
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 验证调拨单数据是否合格
   *
   * @param token 验证信息 varchar(32) 非
   * @param allotList 调拨单数据 非
   * @param allotLogList 调拨设备数据 非
   * @param deviceType 设备类型 1. 主机2. 部件3. 主机部件 非
   * @param mainCode 统一编号 设备类型是主机或者主机部件时必填
   * @return {Promise} Any
   */
  checkDiaoboData: ({token, allotList, allotLogList, deviceType, mainCode}) => {
    let url = `/actApply/checkDiaoboData`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        allotList,
        allotLogList,
        deviceType,
        mainCode
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 获取任务还没启动时的申请单信息
   *
   * @param token 验证信息 varchar(32) 非
   * @param id 申请单ID 非
   * @param actNode 任务节点 1. 待确认类型；2. 待确认调拨；3. 待填调拨单 非
   * @return {Promise} Any
   */
  info: ({token, id, actNode}) => {
    let url = `/actApply/${id}`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        id,
        actNode
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 保存发货单
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @return {Promise} Any
   */
  saveDeliveryLog: ({userId, token}) => {
    let url = `/actApply/saveDeliveryLog`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const actAllot = {
  /**
   * 显示已完成列表
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param pageNo 页数 是
   * @param pageSize 每页显示的数量 是
   * @return {Promise} Any
   */
  finishData: ({userId, token, pageNo, pageSize}) => {
    let url = `/actAllot/finishData`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token,
        pageNo,
        pageSize
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 某个具体调拨单的数据
   *
   * @param token 验证信息 varchar(32) 非
   * @param id 调拨单ID 非
   * @return {Promise} Any
   */
  info: ({token, id}) => {
    let url = `/actAllot/${id}`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        id
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 获取待办任务
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @return {Promise} Any
   */
  task: ({userId, token}) => {
    let url = `/actAllot/task`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 显示申请调拨单列表
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param pageNo 页数 是
   * @param pageSize 每页显示的数量 是
   * @param applyNumber 申请单号 是
   * @param applyOfficeId 申请单位 是
   * @param outOfficeId 调出单位 是
   * @param actNode 当前环节 是
   * @param actStatus 当前状态 是
   * @param applyStartTime 申请开始时间 是
   * @param applyEndTime 申请结束时间 是
   * @param allotStartTime 调拨开始时间 是
   * @param allotEndTime 调拨结束时间 是
   * @param finishStartTime 完成开始时间 是
   * @param finishEndTime 完成结束时间 是
   * @return {Promise} Any
   */
  list: ({userId, token, pageNo, pageSize, applyNumber, applyOfficeId, outOfficeId, actNode, actStatus, applyStartTime, applyEndTime, allotStartTime, allotEndTime, finishStartTime, finishEndTime}) => {
    let url = `/actAllot/list`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token,
        pageNo,
        pageSize,
        applyNumber,
        applyOfficeId,
        outOfficeId,
        actNode,
        actStatus,
        applyStartTime,
        applyEndTime,
        allotStartTime,
        allotEndTime,
        finishStartTime,
        finishEndTime
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const actDelivery = {
  /**
   * 查看某个收发货单的详细信息
   *
   * @param token 验证信息 varchar(32) 非
   * @param id 收发货单id 非
   * @return {Promise} Any
   */
  showDeliveryDetail: ({token, id}) => {
    let url = `/actDelivery/showDeliveryDetail`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        id
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const device = {
  /**
   * 设备—添加芯片编号
   *
   * @param userId 用户Id varchar(64) 非
   * @param chipCode 芯片编号 varchar(32) 非
   * @param token 安全码 varchar(32) 登录时返回的Token带回 非
   * @return {Promise} Any
   */
  chipCode: ({userId, chipCode, token}) => {
    let url = `/device/chipCode`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        chipCode,
        token
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 显示设备管理列表
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param pageNo 页数 是
   * @param pageSize 每页显示的数量 是
   * @param deviceType 设备类型 是
   * @param deviceName 设备名称 是
   * @param manufacturerModelId 主机型号Id 是
   * @param deviceModelId 物料号Id 是
   * @param warehouseId 所属仓库Id 是
   * @param deviceStatus 设备状态 是
   * @param manageOfficeId 管辖单位Id 是
   * @param propertyOfficeId 产权单位Id 是
   * @param mainCode 统一编号 是
   * @return {Promise} Any
   */
  list: ({userId, token, pageNo, pageSize, deviceType, deviceName, manufacturerModelId, deviceModelId, warehouseId, deviceStatus, manageOfficeId, propertyOfficeId, mainCode}) => {
    let url = `/device/list`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token,
        pageNo,
        pageSize,
        deviceType,
        deviceName,
        manufacturerModelId,
        deviceModelId,
        warehouseId,
        deviceStatus,
        manageOfficeId,
        propertyOfficeId,
        mainCode
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 设备类型、设备名称、设备状态下拉框
   *
   * @param menuType 菜单类型 varchar(32) deviceType: 设备类型；deviceName: 设备名称；deviceStatus: 设备状态；非
   * @param token 验证信息 varchar(32) 非
   * @param deviceType 查询设备名称时需要联动的设备类型 varchar(1) 查询设备名称时必填 是
   * @return {Promise} Any
   */
  getMenuData: ({menuType, token, deviceType}) => {
    let url = `/device/getMenuData`
    return new Promise((resolve, reject) => {
      http.post(url, {
        menuType,
        token,
        deviceType
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 获取设备详情
   *
   * @param token 验证信息 varchar(32) 非
   * @param id 设备ID 非
   * @return {Promise} Any
   */
  info: ({token, id}) => {
    let url = `/device/${id}`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        id
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const msgDetail = {
  /**
   * 显示消息列表
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param pageNo 页数 是
   * @param pageSize 每页显示的数量 是
   * @param title 通告标题 是
   * @param type 通告类型 是
   * @param status 通告状态 是
   * @return {Promise} Any
   */
  list: ({userId, token, pageNo, pageSize, title, type, status}) => {
    let url = `/msgDetail/list`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token,
        pageNo,
        pageSize,
        title,
        type,
        status
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 显示消息详细
   *
   * @param token 验证信息 varchar(32) 非
   * @param id 公告ID 非
   * @return {Promise} Any
   */
  info: ({token, id}) => {
    let url = `/msgDetail/${id}`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        id
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const com = {
  /**
   *  找回密码接口
   *
   * @param mobile 手机号码 varchar(32) 非
   * @param code 验证码 varchar(32) 非
   * @param password 密码 varchar(32) 新密码 非
   * @param refPassword 确认密码 varchar(32) 确认新密码 非
   * @return {Promise} Any
   */
  resetPassword: ({mobile, code, password, refPassword}) => {
    let url = `/resetPassword/${mobile}`
    return new Promise((resolve, reject) => {
      http.put(url, {
        mobile,
        code,
        password,
        refPassword
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 登录接口
   *
   * @param mobile 手机号码 varchar(11) 非
   * @param password 密码 varchar(32) 非
   * @return {Promise} Any
   */
  login: ({mobile, password}) => {
    let url = `/login`
    return new Promise((resolve, reject) => {
      http.post(url, {
        mobile,
        password
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 发送验证码
   *
   * @param mobile 手机号码 varchar(11) 非
   * @param secret 验证信息 varchar(32) 非
   * @param sendType 发送类型 varchar(1) 1：注册 2：找回密码 3：信息变更 非
   * @return {Promise} Any
   */
  smsAuthCode: ({mobile, secret, sendType}) => {
    let url = `/smsAuthCode/${mobile}`
    return new Promise((resolve, reject) => {
      http.post(url, {
        mobile,
        secret,
        sendType
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 登录之后首页面各任务数量查询
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @return {Promise} Any
   */
  goToIndex: ({userId, token}) => {
    let url = `/goToIndex`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 修改手机/密码接口
   *
   * @param resetType 修改类型 varchar(32) 1 手机 2密码 非
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param mobile 新的手机号 varchar(32) 非
   * @param code 验证码 varchar(32) 非
   * @param oldPassword 原密码 varchar(32) 原密码 非
   * @param password 密码 varchar(32) 新密码 非
   * @param refPassword 确认密码 varchar(32) 确认新密码 非
   * @return {Promise} Any
   */
  reset: ({resetType, userId, token, mobile, code, oldPassword, password, refPassword}) => {
    let url = `/reset/${userId}`
    return new Promise((resolve, reject) => {
      http.put(url, {
        resetType,
        userId,
        token,
        mobile,
        code,
        oldPassword,
        password,
        refPassword
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const office = {
  /**
   * 显示机构
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param pageNo 页数 是
   * @param pageSize 每页显示的数量 是
   * @param findType 查询类型 1.查询列表，2.查询条件选择框 非
   * @param officeType 机构类型 3.公司，4.部门 非
   * @param shortName 机构短名称 是
   * @return {Promise} Any
   */
  list: ({userId, token, pageNo, pageSize, findType, officeType, shortName}) => {
    let url = `/office/list`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token,
        pageNo,
        pageSize,
        findType,
        officeType,
        shortName
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const oaNotify = {
  /**
   * 显示通告列表
   *
   * @param userId 用户Id varchar(32) 非
   * @param token 验证信息 varchar(32) 非
   * @param pageNo 页数 是
   * @param pageSize 每页显示的数量 是
   * @param title 通告标题 是
   * @param type 通告类型 是
   * @param status 通告状态 是
   * @return {Promise} Any
   */
  list: ({userId, token, pageNo, pageSize, title, type, status}) => {
    let url = `/oaNotify/list`
    return new Promise((resolve, reject) => {
      http.post(url, {
        userId,
        token,
        pageNo,
        pageSize,
        title,
        type,
        status
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  },
  /**
   * 显示通告详细
   *
   * @param token 验证信息 varchar(32) 非
   * @param id 公告ID 非
   * @return {Promise} Any
   */
  info: ({token, id}) => {
    let url = `/oaNotify/${id}`
    return new Promise((resolve, reject) => {
      http.post(url, {
        token,
        id
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const dict = {
  /**
   * 字典下拉框公用接口
   *
   * @param key 字典类型 varchar(32) oa_notify_type：公告类型；oa_notify_status：公告状态 非
   * @param token 验证信息 varchar(32) 非
   * @return {Promise} Any
   */
  oa_notify_type: ({key, token}) => {
    let url = `/dict/oa_notify_type`
    return new Promise((resolve, reject) => {
      http.post(url, {
        key,
        token
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
export const manufacturerModel = {
  /**
   * 显示厂家主机型号
   *
   * @param findType 查询类型 varchar(32) 1: 查询列表；2: 选择框； 非
   * @param token 验证信息 varchar(32) 非
   * @param deviceType 查询主机型号时需要联动的设备类型 varchar(1) 查询厂家主机型号时必填 非
   * @param deviceName 查询主机型号时需要联动的设备名称 varchar(1) 是
   * @param manufacturerModel 主机型号 是
   * @param userId 用户Id varchar(32) 非
   * @param pageNo 页数 是
   * @param pageSize 每页显示的数量 是
   * @return {Promise} Any
   */
  list: ({findType, token, deviceType, deviceName, manufacturerModel, userId, pageNo, pageSize}) => {
    let url = `/manufacturerModel/list`
    return new Promise((resolve, reject) => {
      http.post(url, {
        findType,
        token,
        deviceType,
        deviceName,
        manufacturerModel,
        userId,
        pageNo,
        pageSize
      })
        .then(res => {
          let {status, results} = res
          if (status.index === '10000') {
            resolve(results)
          } else {
            reject(status)
          }
        })
        .catch(err => {
          console.log(err)
          reject(err)
        })
    })
  }
}
